Amazon RDS ডাটাবেস ইন্সট্যান্সে নিরাপত্তা সুনিশ্চিত করার জন্য বেশ কিছু ব্যবস্থা রয়েছে, যা সঠিকভাবে কনফিগার করতে হবে। এই নিরাপত্তা সেটিংসের মধ্যে IAM রোলস, ইউজার, এবং Security Groups অন্তর্ভুক্ত রয়েছে।
১. IAM রোলস ও ইউজার
IAM (Identity and Access Management) AWS এর একটি সেবা যা আপনি আপনার অ্যাকাউন্টে ব্যবহৃত সেবা, ডাটাবেস এবং অন্যান্য অ্যাপ্লিকেশনগুলোতে অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহার করতে পারবেন।
IAM রোলস:
IAM রোলস হল একটি সেট পলিসি যা নির্দিষ্ট অ্যাক্সেস অধিকার প্রদান করে। এটি AWS সেবাগুলির মধ্যে নির্দিষ্ট কাজ করতে অনুমতি দেয়, উদাহরণস্বরূপ, একটি EC2 ইন্সট্যান্সকে RDS ডাটাবেসে অ্যাক্সেস করতে দেয়া।
- RDS IAM রোল তৈরি:
- AWS Management Console-এ IAM সেকশন নির্বাচন করুন।
- "Roles" এ গিয়ে নতুন রোল তৈরি করুন।
- সঠিক policies (যেমন
AmazonRDSFullAccess
) নির্বাচন করুন। - আপনি যেই সেবাতে রোলটি ব্যবহার করতে চান (যেমন EC2 বা Lambda) তা নির্বাচন করুন।
- রোলটির নাম দিন এবং সেটি সেভ করুন।
- RDS ইনস্ট্যান্সে IAM রোল অ্যাসাইন করুন:
- RDS কনসোল থেকে আপনার ডাটাবেস ইনস্ট্যান্স নির্বাচন করুন।
- "Modify" অপশন ব্যবহার করে IAM রোলটি অ্যাসাইন করুন।
IAM ইউজার তৈরি:
IAM ইউজার তৈরি করে আপনি নির্দিষ্ট ব্যক্তিদের বা অ্যাপ্লিকেশনকে নির্দিষ্ট AWS সেবার জন্য অনুমতি প্রদান করতে পারেন।
- IAM ইউজার তৈরি:
- AWS Management Console এ IAM সেকশন থেকে "Users" সিলেক্ট করুন।
- Add User বাটনে ক্লিক করে ইউজারের নাম এবং অ্যাক্সেস টাইপ নির্বাচন করুন (প্রোগ্রামেটিক এক্সেস, কনসোল এক্সেস ইত্যাদি)।
- ইউজারের জন্য একটি পাসওয়ার্ড সেট করুন।
- Permissions সেকশনে, আপনি ইউজারের জন্য পলিসি অ্যাসাইন করুন, যেমন
AmazonRDSFullAccess
বা কাস্টম পলিসি।
- Access Key & Secret Key: প্রোগ্রামেটিক এক্সেসের জন্য Access Key এবং Secret Key প্রদান করা হবে।
২. Security Groups
Security Groups হলো AWS-এর ভার্চুয়াল ফায়ারওয়াল সিস্টেম যা আপনার রিসোর্সের (যেমন RDS) উপর নেটওয়ার্ক অ্যাক্সেস নিয়ন্ত্রণ করে। এটি আপনাকে নির্দিষ্ট IP ঠিকানা বা সেলফ-ডিফাইনড সেক্টরের মধ্যে অ্যাক্সেস কন্ট্রোল করতে সাহায্য করে।
Security Group কনফিগারেশন:
- Security Group তৈরি করা:
- AWS Management Console থেকে EC2 সেকশনে যান (Security Groups এখানেই থাকে)।
- "Security Groups" সিলেক্ট করে Create Security Group বাটনে ক্লিক করুন।
- নাম এবং বর্ণনা দিন, এবং রুলস কনফিগার করুন। উদাহরণস্বরূপ, আপনি TCP পোর্ট 3306 (MySQL) বা 5432 (PostgreSQL) খোলার জন্য একটি রুল যুক্ত করতে পারেন।
- Inbound Rules: এখানে আপনি যেসব IP বা সেবাকে ডাটাবেসে প্রবেশের অনুমতি দেবেন তা নির্ধারণ করতে পারেন (যেমন 0.0.0.0/0 মানে যে কেউ ঢুকতে পারবে, কিন্তু এটি নিরাপদ নয়, তাই আপনি নির্দিষ্ট IP বা সেভার ব্যবহার করুন)।
- Outbound Rules: আউটগোয়িং ট্রাফিকের জন্য রুলস নির্ধারণ করুন।
- Security Group অ্যাসাইন করা:
- RDS কনসোল থেকে আপনি যখন নতুন ডাটাবেস ইনস্ট্যান্স তৈরি করবেন, তখন এই সিকিউরিটি গ্রুপটি নির্বাচন করতে পারবেন।
- ইতোমধ্যে তৈরি ইনস্ট্যান্সের জন্য, "Modify" অপশন ব্যবহার করে সিকিউরিটি গ্রুপ পরিবর্তন করা সম্ভব।
সিকিউরিটি গ্রুপে সাধারণ রুলস:
- MySQL (Port 3306): যদি আপনি MySQL ব্যবহার করেন, তাহলে ইনবাউন্ড রুলস এ TCP পোর্ট 3306 খুলুন।
- PostgreSQL (Port 5432): PostgreSQL ব্যবহার করলে, পোর্ট 5432 খুলুন।
- আইপি রেঞ্জ: কেবলমাত্র নির্দিষ্ট আইপি অ্যাড্রেস থেকে অ্যাক্সেস অনুমতি দিতে IP রেঞ্জ সঠিকভাবে কনফিগার করুন।
৩. VPC এবং সাবনেট কনফিগারেশন
RDS ইন্সট্যান্সটির জন্য VPC (Virtual Private Cloud) নির্বাচন বা তৈরি করা খুবই গুরুত্বপূর্ণ। এটি একটি আইসোলেটেড নেটওয়ার্কে আপনার ডাটাবেস রেখে অতিরিক্ত নিরাপত্তা প্রদান করে। আপনাকে যেসব সাবনেটে RDS ডাটাবেস রাখতে চান তা নির্ধারণ করতে হবে।
- VPC নির্বাচন: RDS ইন্সট্যান্সটি কোন VPC তে থাকতে হবে তা নির্বাচন করুন (স্বতঃস্ফূর্তভাবে নতুন VPC তৈরি করতে পারেন)।
- Subnet নির্বাচন: আপনি যে সাবনেটে RDS রাখতে চান, সেটি নির্বাচন করুন।
- Availability Zone: মাল্টি-AZ কনফিগারেশন নির্বাচন করলে আপনাকে দুটি আলাদা অ্যাভেইলেবিলিটি জোন নির্বাচন করতে হবে, যা স্বয়ংক্রিয়ভাবে ফেইলওভার পরিচালনা করবে।
সামগ্রিক নিরাপত্তা পর্যালোচনা:
- IAM রোলস: AWS সেবাগুলির মধ্যে নিরাপদ যোগাযোগ নিশ্চিত করতে IAM রোল ব্যবহার করুন।
- IAM ইউজার: সঠিক ইউজার পলিসি প্রয়োগ করুন যাতে তারা শুধুমাত্র তাদের প্রয়োজনীয় অ্যাক্সেস পায়।
- Security Groups: কেবলমাত্র নির্দিষ্ট IP বা অ্যাপ্লিকেশন থেকে অ্যাক্সেস অনুমতি দিন। আননুমোদিত অ্যাক্সেস রোধ করতে সিকিউরিটি গ্রুপ কনফিগারেশন করুন।
- VPC ও Subnets: ডাটাবেসকে সঠিকভাবে আইসোলেটেড নেটওয়ার্কে রাখুন, যাতে অতিরিক্ত সুরক্ষা নিশ্চিত হয়।
Amazon RDS নিরাপত্তা সঠিকভাবে কনফিগার করা অত্যন্ত গুরুত্বপূর্ণ। নিরাপত্তা সেটিংস যেমন IAM, Security Groups এবং VPC/Subnet কনফিগারেশন সঠিকভাবে পরিচালিত হলে আপনার ডাটাবেসের সুরক্ষা নিশ্চিত হবে এবং অপ্রত্যাশিত অ্যাক্সেস থেকে তা রক্ষা পাবে।